<?php
/**
 * TomatoCMS
 *
 * LICENSE
 *
 * This source file is subject to the GNU GENERAL PUBLIC LICENSE Version 2
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://www.gnu.org/licenses/gpl-2.0.txt
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@tomatocms.com so we can send you a copy immediately.
 *
 * @copyright    Copyright (c) 2009-2010 TIG Corporation (http://www.tig.vn)
 * @license        http://www.gnu.org/licenses/gpl-2.0.txt GNU GENERAL PUBLIC LICENSE Version 2
 * @version     $Id: product.php 2793 2010-05-03 18:48:14Z quanvo $
 * @since        2.0.5
 */

interface Shop_Models_Interface_ProductAttribute
{
    /**
    * Add new product attribute
    *
    * @param Tomato_Modules_Shop_Models_ProductContent $product_attribute
    * @return int
    */
    public function duplicate($product_attribute);
    public function add($product_attribute);
    /**
    * Delete
    *
    * @param int $product_id
    * @param int $attribute_type_id
    */
    public function delete($product_id, $attribute_type_id);
    /**
    * Get attribute type id by product id
    *
    * @param int $product_id
    * @return Tomato_Core_Model_RecordSet
    */
    public function getAttributeTypeIdByProductId($product_id);
    /**
    * Get attribute type by attribute type id
    *
    * @param int $attribute_type_id
    * @return Tomato_Core_Model_RecordSet
    */
    public function getAttributeTypeByAttributeTypeId($attribute_type_id);
    /**
    * Delete value type
    *
    * @param int $id
    * @return void
    */
    public function deleteValueType($id);
    /**
    * Delete value content
    *
    * @param int $id
    * @return void
    */
    public function deleteValueContent($id);
    /**
    * Delete product attribute
    *
    * @param int $id
    * @return void
    */
    public function deleteProductAttribute($id);
}
